#!/usr/bin/perl -w
use Data::Dumper;

%morse = (
          '0' => '-----', '1' => '.----', '2' => '..---', '3' => '...--',
          '4' => '....-', '5' => '.....', '6' => '-....', '7' => '--...',
          '8' => '---..', '9' => '----.', 'A' => '.-',    'B' => '-...',
          'C' => '-.-.',  'D' => '-..',   'E' => '.',     'F' => '..-.',
          'G' => '--.',   'H' => '....',  'I' => '..',    'J' => '.---',
          'K' => '.-.-',  'L' => '.-..',  'M' => '--',    'N' => '-.',
          'O' => '---',   'P' => '.--.',  'Q' => '--.-',  'R' => '.-.',
          'S' => '...',   'T' => '-',     'U' => '..-',   'V' => '...-',
          'W' => '.--',   'X' => '-..-',  'Y' => '-.--',  'Z' => '--..',
          ' ' => ' '
         );

foreach my $key (sort keys %morse) {
  print  "case '$key':\n";
  my @charas = split(//, $morse{$key});
  my $count = 0;
  foreach my $chara (@charas) {
    my $tone;
    if ($chara eq '.') {
      $tone = 'dit';
    } elsif ($chara eq '-') {
      $tone = 'dah';
    } elsif ($chara eq ' ') {
      $tone = 'delay';
    }
    print "\t[tones addObject:$tone];\n";
    print "\t[tones addObject:toneDelay];\n" if ++$count < scalar(@charas);;
  }
    print "\tbreak;\n";
}
